{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SDE - Lévy processes\n",
    "\n",
    "\n",
    "## Contents\n",
    "   - [Merton process](#sec1)\n",
    "      - [Merton Density](#sec1.1)\n",
    "      - [Parameter estimation](#sec1.2)\n",
    "   - [Variance Gamma process](#sec2)\n",
    "      - [VG Density](#sec2.1)\n",
    "      - [Parameter estimation](#sec2.2)\n",
    "   - [Normal Inverse Gaussian process](#sec3)\n",
    "      - [NIG Density](#sec3.1)\n",
    "      - [Parameter estimation](#sec3.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as scp\n",
    "import scipy.stats as ss\n",
    "import matplotlib.pyplot as plt\n",
    "from statsmodels.graphics.gofplots import qqplot\n",
    "import scipy.special as scps\n",
    "from functools import partial\n",
    "from scipy.optimize import minimize\n",
    "from math import factorial\n",
    "\n",
    "from FMNM.probabilities import Gil_Pelaez_pdf\n",
    "from FMNM.CF import cf_VG, cf_mert, cf_NIG"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1'></a>\n",
    "# Merton Jump-Diffusion process\n",
    "\n",
    "The Merton process is described by the following equation:\n",
    "\n",
    "\\begin{equation}\n",
    "X_t = \\mu t + \\sigma W_t + \\sum_{i=1}^{N_t} Y_i, \n",
    "\\end{equation}\n",
    "\n",
    "where $N_t \\sim Po(\\lambda t)$ is a Poisson random variable counting the jumps of $X_t$ in $[0,t]$, and \n",
    "\n",
    "$$Y_i \\sim \\mathcal{N}(\\alpha, \\xi^2)$$ \n",
    "\n",
    "are the sizes of the jumps.     \n",
    "In the following I indicate $\\mu \\to$ `mu`, $\\sigma \\to $ `sig`, $\\lambda \\to $ `lam`, $\\alpha \\to $ `muJ` and $\\xi \\to $ `sigJ`.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "mu = 0.05  # drift\n",
    "sig = 0.2  # diffusion coefficient\n",
    "lam = 1.2  # jump activity\n",
    "muJ = 0.15  # jump mean size\n",
    "sigJ = 0.5  # jump std deviation\n",
    "T = 2  # terminal time\n",
    "N = 1000000  # number of random variables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1.1'></a>\n",
    "## Merton Density"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(seed=42)\n",
    "W = ss.norm.rvs(0, 1, N)  # The normal RV vector\n",
    "P = ss.poisson.rvs(lam * T, size=N)  # Poisson random vector\n",
    "Jumps = np.asarray([ss.norm.rvs(muJ, sigJ, i).sum() for i in P])  # Jumps vector\n",
    "X_T = mu * T + np.sqrt(T) * sig * W + Jumps  # Merton process"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Merton distribution\n",
    "(I took this formula from section 4.3 of [1] )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def Merton_density(x, T, mu, sig, lam, muJ, sigJ):\n",
    "    tot = 0\n",
    "    for k in range(20):\n",
    "        tot += (\n",
    "            (lam * T) ** k\n",
    "            * np.exp(-((x - mu * T - k * muJ) ** 2) / (2 * (T * sig**2 + k * sigJ**2)))\n",
    "            / (factorial(k) * np.sqrt(2 * np.pi * (sig**2 * T + k * sigJ**2)))\n",
    "        )\n",
    "    return np.exp(-lam * T) * tot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Merton characteristic function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "cf_M_b = partial(cf_mert, t=T, mu=mu, sig=sig, lam=lam, muJ=muJ, sigJ=sigJ)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABL4AAAIOCAYAAAC2+MRDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACRgklEQVR4nOzdeVxU9eLG8ecMm6CACoqyuCXiQm5opeVemru2WdpiZsu1XWyxstIWf63XpbS6lUuZmYlltunNJU0rw7VUJFMQxQ0VVARk5vz+GOE2CgYKnAE+79drXsycc+acZ7jexIfv93sM0zRNAQAAAAAAABWMzeoAAAAAAAAAQGmg+AIAAAAAAECFRPEFAAAAAACAConiCwAAAAAAABUSxRcAAAAAAAAqJIovAAAAAAAAVEgUXwAAAAAAAKiQKL4AAAAAAABQIVF8AQAAAAAAoEKi+AIAAG5h5syZMgxDhmFoxYoV5+w3TVONGzeWYRjq2rVriV//5Zdf1hdffFHi5y2qvM//22+/Fbi/X79+atCggcu2Bg0aaPjw4cW6zpo1a/T888/r2LFjFxYUAACgHKH4AgAAbsXf318ffPDBOdtXrlypnTt3yt/fv1Sua3XxdSEWLlyocePGFes9a9as0fjx4ym+AABApUDxBQAA3MqQIUO0YMECZWRkuGz/4IMP1KFDB9WrV69Er3fq1KkSPV9ZatOmjS655BKrYxTL6dOnlZuba3UMAABQSVB8AQAAt3LLLbdIkubOnZu/LT09XQsWLNCIESMKfE9OTo5efPFFNW3aVD4+PqpVq5buvPNOHTp0yOW4Bg0aqF+/foqLi1ObNm1UpUoVjR8/XoZh6OTJk5o1a1b+dMu/T6f8/fffNXDgQNWoUUNVqlRR69atNWvWLJdzr1ixQoZhaO7cuXr66acVGhqqgIAAXX311UpISCih746rs6c6OhwOvfjii4qKipKvr6+qV6+uli1bavLkyZKk559/Xo899pgkqWHDhudMLXU4HHr11Vfzv4+1a9fW7bffrpSUFJfrmqapl19+WfXr11eVKlXUrl07LV26VF27dnX5vuV9Tz766CPFxsYqLCxMPj4++vPPP3Xo0CGNGjVKzZs3V7Vq1VS7dm11795dq1atcrnW7t27ZRiGXnvtNb3yyitq0KCBfH191bVrV+3YsUOnT5/Wk08+qdDQUAUGBmrw4ME6ePBgyX+zAQBAueRpdQAAAIC/CwgI0A033KAPP/xQ9957ryRnCWaz2TRkyBBNmjTJ5XiHw6GBAwdq1apVevzxx9WxY0clJSXpueeeU9euXfXbb7/J19c3//j169dr27ZteuaZZ9SwYUNVrVpVgwYNUvfu3dWtW7f8qYMBAQGSpISEBHXs2FG1a9fWlClTFBQUpI8//ljDhw/XgQMH9Pjjj7vkeeqpp3TllVfq/fffV0ZGhp544gn1799f27Ztk4eHxz9+frvdXuCIKNM0//G9r776qp5//nk988wz6ty5s06fPq3t27fnT2scOXKkjhw5oqlTpyouLk5169aVJDVv3lyS9K9//UvvvfeeHnjgAfXr10+7d+/WuHHjtGLFCq1fv17BwcGSpKeffloTJ07UPffco+uuu0579uzRyJEjdfr0aTVp0uScXGPHjlWHDh30zjvvyGazqXbt2vml5HPPPac6deroxIkTWrhwobp27aoffvjhnHXc3n77bbVs2VJvv/22jh07ptjYWPXv31+XX365vLy89OGHHyopKUljxozRyJEjtWjRon/8fgEAgErABAAAcAMzZswwJZnr1q0zly9fbkoyf//9d9M0TbN9+/bm8OHDTdM0zRYtWphdunTJf9/cuXNNSeaCBQtczrdu3TpTkjlt2rT8bfXr1zc9PDzMhISEc65ftWpV84477jhn+80332z6+PiYycnJLtt79+5t+vn5mceOHTNN08zP3KdPH5fjPvvsM1OSuXbt2iJ9/vM96tev7/Ke+vXru2Tu16+f2bp16/Ne57XXXjMlmbt27XLZvm3bNlOSOWrUKJftv/zyiynJfOqpp0zTNM0jR46YPj4+5pAhQ1yOW7t2rSnJ5X+bvO9J586dz5vJNE0zNzfXPH36tNmjRw9z8ODB+dt37dplSjJbtWpl2u32/O2TJk0yJZkDBgxwOc8jjzxiSjLT09P/8ZoAAKDiY6ojAABwO126dNEll1yiDz/8UFu2bNG6desKnea4ePFiVa9eXf3791dubm7+o3Xr1qpTp845d4hs2bJlgaOSCrNs2TL16NFDERERLtuHDx+uzMxMrV271mX7gAEDzrmeJCUlJRXperNnz9a6devOeVx11VX/+N7LLrtMmzZt0qhRo/T999+fs07a+SxfvlySzrlL5GWXXaZmzZrphx9+kCT9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LEHxBQAAAAAA3ELbtm1Vr149xcXF5W+Li4tTRESE2rRp43KsaZp69dVX1ahRI/n6+qpVq1b6/PPP8/fnjWz6/vvv1a5dO/n4+Oijjz7S+PHjtWnTJhmGIcMwNHPmTElScnKyBg4cqGrVqikgIEA33XSTDhw4kH++vJFiH330kRo0aKDAwEDdfPPNOn78+Hk/08yZM1WvXj35+flp8ODBSktLO+eYr776SjExMapSpYoaNWqk8ePHu5R0hmHo/fff1+DBg+Xn56fIyEgtWrQof//Ro0c1bNgw1apVS76+voqMjNSMGTMkuU513L17t7p16yZJqlGjRv4outmzZysoKEjZ2dkuua6//nrdfvvt5/187o7iCwAAAACAis40pZMny/5hmsWOeuedd+aXNpL04YcfasSIEecc98wzz2jGjBmaPn26/vjjDz366KO69dZbtXLlSpfjHn/8cU2cOFHbtm1Tz549FRsbqxYtWig1NVWpqakaMmSITNPUoEGDdOTIEa1cuVJLly7Vzp07NWTIEJdz7dy5U1988YUWL16sxYsXa+XKlfq///u/Qj/LL7/8ohEjRmjUqFHauHGjunXrphdffNHlmO+//1633nqrHnroIW3dulXvvvuuZs6cqZdeesnluPHjx+umm27S5s2b1adPHw0bNkxHjhyRJI0bN05bt27Vt99+q23btmn69OkKDg4+J09ERIQWLFggSUpISFBqaqomT56sG2+8UXa73aVMO3z4sBYvXqw777yz0M9XHlTOcW4AAAAAAFQmmZlStWplf90TJ6SqVYv1lttuu01jx47NH6n0008/6dNPP9WKFSvyjzl58qTefPNNLVu2TB06dJAkNWrUSKtXr9a7776rLl265B87YcIEXXPNNfmvq1WrJk9PT9WpUyd/29KlS7V582bt2rVLERERkqSPPvpILVq00Lp169S+fXtJksPh0MyZM+Xv75+f9YcffjinpMozefJk9erVS08++aQkqUmTJlqzZo2+++67/GNeeuklPfnkk7rjjjvyP8cLL7ygxx9/XM8991z+ccOHD9ctt9wiSXr55Zc1depU/frrr7r22muVnJysNm3aqF27dpKkBg0aFJjHw8NDNWvWlCTVrl3bZZH9oUOHasaMGbrxxhslSXPmzFF4eLi6du1a4LnKC4ovAAAAAADgNoKDg9W3b1/NmjVL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Rnl4eKhLly5FvubMmTNdPluvXr3kcDi0a9cuXXPNNapfv74aNWqk2267TXPmzFFmZmah59u2bZuuvNJ1KY0rr7xSiYmJstvtxfl2SJKWLl2q1NRUmabpMirPnTHiCwAAqy1f7vz6D3e7sUJUqL8WP3hm+uXDD0urV0t3360WkX2sDQYAACqNqmfd+MfhcKh///565ZVXzjm2bt26SkxMLNJ5DcOQeda6Dn9fm8vhcCgmJkZz5sw55721atXKf+7l5XXOeR0OhyQVe+0qh8Ohe++9Vw899NA5++rVqydvb2+tX79eK1as0JIlS/Tss8/q+eef17p161S9evVz3mOa5jm/rDz7MxfV0aNHdffdd+upp56Sl5eXRo0apS5durj93TcvaMTXtGnT1LBhQ1WpUkUxMTFatWpVocfmLdR29mP79u0XHBoAgArDNKW8v0eL+JvAsmQYhnacyNSOE5k6dUV7RR/YqfofvSfGegEAAKu0bdtWf/zxhxo0aKDGjRu7PKpWrarGjRvLy8tLP//8c/57jh49qh07dricp1atWi53G0xMTHQZPdW2bVslJiaqdu3a51ynqHchvPTSS+VwOLRy5cpifbazr9e4ceP8u1l6enrq6quv1quvvqrNmzdr9+7dWpY3g+AszZs31+rVq122rVmzRk2aNHEZpVYUDz74oGrXrq1nnnlGTz75pCIiIvLXHnNnxS6+5s2bp0ceeURPP/20NmzYoE6dOql3795KTk4+7/sSEhKUmpqa/4iMjLzg0AAAVBiJidLBg5KPj3TWMH53s697L+VWqSL/pL+kYi4OCwAAUFLuv/9+HTlyRLfccot+/fVX/fXXX1qyZIlGjBghu92uatWq6a677tJjjz2mH374Qb///ruGDx8um821AunevbveeustrV+/Xr/99pvuu+8+l9Fbw4YNU3BwsAYOHKhVq1Zp165dWrlypR5++GGlpKQUKWuDBg10xx13aMSIEfriiy+0a9curVixQp999lmBxz/xxBNau3at7r//fm3cuFGJiYlatGiRHnzwQUnS4sWLNWXKFG3cuFFJSUmaPXu2HA5HodM4Y2Nj9cMPP+iFF17Qjh07NGvWLL311lsaM2ZMkfLnWbhwoebPn69Zs2bJy8tLnp6emjlzphYuXKgFCxYU61xlrdjF15tvvqm77rpLI0eOVLNmzTRp0iRF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4XCwYsUKdu7cyQsvvMArr7zC008/7e3QRBpk9erVzJo1i9TUVLZt28aIESMYN24cR44c8XZoIo2yceNGpk+fztdff01GRgZ2u53ExETOnTvn7dBErsi3337LypUrGTx4sLdDEWmS06dPM3z4cPz9/fn444/ZtWsXzz//PB07dvR2aCItyjBN0/R2EOJdH3/8MSkpKaxZs4aBAweybds2hgwZ4u2wRK7Yc889x/Llyzl48KC3QxGp17Bhwxg6dCjLly+vqevfvz+TJk1i8eLFXoxM5MqcPHmSLl26sHHjRm6//XZvhyPSJGfPnmXo0KEsW7aMhQsXMmTIEJYsWeLtsEQa5amnnmLLli2aUS7XHM34usYdP36cqVOn8s477xAcHOztcESaVVFREZ06dfJ2GCL1qqioIDMzk8TERJf6xMREvvrqKy9FJdI8ioqKAPR+LG3a9OnTGT9+PHfccYe3QxFpsvXr15OQkMC9995Lly5duOmmm3j11Ve9HZZIi1Pi6xpmmiYPPfQQycnJJCQkeDsckWZ14MABli5dSnJysrdDEanXqVOnqKqqIjIy0qU+MjKSY8eOeSkqkStnmiYpKSncdtttxMXFeTsckSZ57733+O677zT7Vtq8gwcPsnz5cmJjY/n0009JTk7mF7/4BW+//ba3QxNpUUp8+aBnnnkGwzDqLH/7299YunQpxcXFzJs3z9shi9SqoffzpfLy8rjzzju59957+fnPf+6lyEUazzAMl9emabrVibQlM2bMYMeOHaxatcrboYg0SU5ODo8//jjvvvsugYGB3g5H5Io4HA6GDh1KWloaN910E9OmTWPq1Kku2yyI+CI/bwcgzW/GjBn89Kc/rfOcXr16sXDhQr7++mvatWvnciwhIYH777+ft956qyXDFGmQht7P1fLy8hg1ahS33HILK1eubOHoRJpHREQEVqvVbXbXiRMn3GaBibQVM2fOZP369WzatImoqChvhyPSJJmZmZw4cYL4+PiauqqqKjZt2sTLL79MeXk5VqvVixGKNFy3bt0YMGCAS13//v1Zs2aNlyISuTqU+PJBERERRERE1HveSy+9xMKFC2te5+XlMXbsWFavXs2wYcNaMkSRBmvo/QzOxzOPGjWK+Ph43nzzTSwWTWqVtiEgIID4+HgyMjK4++67a+ozMjKYOHGiFyMTaTzTNJk5cybr1q3jyy+/JCYmxtshiTTZmDFjyMrKcql7+OGH6devH08++aSSXtKmDB8+nD179rjU7d27l549e3opIpGrQ4mva1h0dLTL69DQUAB69+6tkVlpc/Ly8hg5ciTR0dH89re/5eTJkzXHunbt6sXIRBomJSWFBx54gISEhJoZi0eOHNE+ddLmTJ8+nT/+8Y98+OGHhIWF1cxk7NChA0FBQV6OTqRxwsLC3PanCwkJITw8XPvWSZsze/Zsbr31VtLS0rjvvvv45ptvWLlypVZJiM9T4ktEfMJnn33G/v372b9/v1vi1jRNL0Ul0nCTJ0+moKCABQsWkJ+fT1xcHBs2bNAorLQ51XvFjBw50qX+zTff5KGHHrr6AYmICAA333wz69atY968eSxYsICYmBiWLFnC/fff7+3QRFqUYeoboYiIiIiIiIiI+CBtgCMiIiIiIiIiIj5JiS8REREREREREfFJSnyJiIiIiIiIiIhPUuJLRERERERERER8khJfIiIiIiIiIiLik5T4EhERERERERERn6TEl4iIiIiIiIiI+CQlvkRERERERERExCcp8SUiIiIiIiIiIj5JiS8REREREREREfFJSnyJiIiIiIiIiIhPUuJLRERERERERER80v8Dd2fErOx4o6gAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1500x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(X_T.min(), X_T.max(), 500)\n",
    "y = np.linspace(-3, 5, 50)\n",
    "\n",
    "plt.figure(figsize=(15, 6))\n",
    "plt.plot(x, Merton_density(x, T, mu, sig, lam, muJ, sigJ), color=\"r\", label=\"Merton density\")\n",
    "plt.plot(y, [Gil_Pelaez_pdf(i, cf_M_b, np.inf) for i in y], \"p\", label=\"Fourier inversion\")\n",
    "plt.hist(X_T, density=True, bins=200, facecolor=\"LightBlue\", label=\"frequencies of X_T\")\n",
    "plt.legend()\n",
    "plt.title(\"Merton Histogram\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "qqplot(X_T, line=\"s\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1.2'></a>\n",
    "## Parameter estimation\n",
    "\n",
    "In this section I will use the function `scipy.optimize.minimize` to minimize the negative of the log-likelihood function i.e. I'm going to **maximize** the log-likelihood.\n",
    "\n",
    "This is not an easy task... The model has 5 parameters, which means that the routine will be very slow, and we are not sure it will work.     \n",
    "It is possible that the log-likelihood function has several local maximum points, or that some overflows appear.\n",
    "\n",
    "We have to try several methods until we find the one that better performs.\n",
    "\n",
    "Let us firts analyze our simulated data:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Median: 0.3785193938994046\n",
      "Mean: 0.4597291804315835\n",
      "Standard Deviation: 0.857134840167505\n",
      "Skewness: 0.44466395968028455\n",
      "Kurtosis: 1.0056718465894816\n"
     ]
    }
   ],
   "source": [
    "print(f\"Median: {np.median(X_T)}\")\n",
    "print(f\"Mean: {np.mean(X_T)}\")\n",
    "print(f\"Standard Deviation: {np.std(X_T)}\")\n",
    "print(f\"Skewness: {ss.skew(X_T)}\")\n",
    "print(f\"Kurtosis: {ss.kurtosis(X_T)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Maximum Likelihood Estimation\n",
    "\n",
    "Initial guesses are important! We can gain some information of the unknown parameters from our data.\n",
    "\n",
    "I use:\n",
    "- The mean of a Merton process is $\\mathbb{E}[X_T] = (\\mu + \\lambda \\alpha) T$. See **notebook A.3**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.22986459021579175\n",
      "0.22999999999999998\n"
     ]
    }
   ],
   "source": [
    "print(np.mean(X_T) / T)\n",
    "print(mu + lam * muJ)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- therefore we can assume equal contribution from `mu` and `lam * muJ`. So, `mu`=0.1.  Of course this is just an initial guess.\n",
    "\n",
    "- Diffusion coefficient of 0.5 is quite reasonable. A standard deviation of about 0.85 computed above contains also the effects of jumps.\n",
    "\n",
    "- We don't have information on lambda, so we choose $\\lambda=1$ in order to keep the formula for the mean consistent. \n",
    "\n",
    "- The histogram has positive skew. The parameter $\\alpha$ (or `muJ`) affects the skewness. The value 0.1 makes sense.\n",
    "\n",
    "- About `sigJ` I set it to $1$, because I expect that a jump has a standard deviation higher than the usual diffusion standard deviation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Desired error not necessarily achieved due to precision loss.\n",
      "Number of iterations performed by the optimizer:  38\n"
     ]
    }
   ],
   "source": [
    "def log_likely_Merton(x, data, T):\n",
    "    return (-1) * np.sum(np.log(Merton_density(data, T, x[0], x[1], x[2], x[3], x[4])))\n",
    "\n",
    "\n",
    "result_Mert = minimize(\n",
    "    log_likely_Merton, x0=[0.1, 0.5, 1, 0.1, 1], method=\"BFGS\", args=(X_T, T)\n",
    ")  # Try also Nelder-Mead\n",
    "\n",
    "print(result_Mert.message)\n",
    "print(\"Number of iterations performed by the optimizer: \", result_Mert.nit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original parameters: mu=0.05, sigma=0.2, lam=1.2, alpha=0.15, xi=0.5 \n",
      "MLE parameters:  [0.04779053 0.1997717  1.20723181 0.15081947 0.49841832]\n"
     ]
    }
   ],
   "source": [
    "print(f\"Original parameters: mu={mu}, sigma={sig}, lam={lam}, alpha={muJ}, xi={sigJ} \")\n",
    "print(\"MLE parameters: \", result_Mert.x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Very good!!\n",
    "The BFGS and Nelder-Mead methods work! The results are printed in the last line, and we can see that the values correspond to the original values.\n",
    "\n",
    "I tried also L-BFGS-B and SLSQP which instead do not work.\n",
    "\n",
    "See here for a list of possible methods: [link](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec2'></a>\n",
    "# Variance Gamma process\n",
    "\n",
    "\n",
    "Usually the [Gamma distribution](https://en.wikipedia.org/wiki/Gamma_distribution) is \n",
    "parametrized by a shape and scale positive parameters \n",
    "\n",
    "$$T \\sim \\Gamma(a,b).$$ \n",
    "\n",
    "The random variable $T_t \\sim \\Gamma(a t, b)$ has the shape parameter dependent on $t$ (the shape is a linear function of $t$).    \n",
    "The density function is \n",
    "\n",
    "$$ f_{T_t}(x) = \\frac{b^{-a t}}{\\Gamma(a t)}x^{a t -1}e^{-\\frac{x}{b}}$$ \n",
    "\n",
    "with \n",
    "\n",
    "$$\\mathbb{E}[T_t]= a b t, \\quad \\text{and} \\quad \\text{Var}[T_t] = a b^2 t. $$ \n",
    "\n",
    "When working with the VG process, it is common to use a parametrization such that \n",
    "\n",
    "$$\\mathbb{E}[T_t]=\\mu t \\quad \\text{and} \\quad \\text{Var}[T_t] = \\kappa t $$ \n",
    "\n",
    "therefore $\\mu = ab$ and $\\kappa = a b^2$.\n",
    "Inverting we obtain $b=\\frac{\\kappa}{\\mu}$, $a=\\frac{\\mu^2}{\\kappa}$.\n",
    "\n",
    "The new parametrization is with respect to the new parameters $\\mu$ and $\\kappa$, such that  \n",
    "\n",
    "$$T_t \\sim \\Gamma(\\mu t, \\kappa t)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Variance Gamma\n",
    "\n",
    "If we consider a Brownian motion with drift \n",
    "\n",
    "$$X_t = \\theta t + \\sigma W_t$$ \n",
    "\n",
    "and substitute the time variable with a Gamma random variable \n",
    "$T_t \\sim \\Gamma(t,\\kappa t)$,\n",
    "we obtain the **Variance Gamma** process:\n",
    "\n",
    "$$ X_{t} := \\theta T_t + \\sigma W_{T_t} .$$\n",
    "\n",
    "where we chose $T_t \\sim \\Gamma(\\mu t, \\kappa t)$ with $\\mu=1$ in order to have $\\mathbb{E}[T_t]= t$.\n",
    "\n",
    "It depends on three parameters:\n",
    "\n",
    "- $\\sigma$, the volatility of the Brownian motion\n",
    "- $\\kappa$, the variance of the Gamma process\n",
    "- $\\theta$, the drift of the Brownian motion\n",
    "\n",
    "The characteristic function is: \n",
    "\n",
    "$$ \\phi_{X_t}(u) = \\biggl( 1-i\\theta \\kappa u + \\frac{1}{2} \\sigma^2 \\kappa u^2 \\biggr)^{-\\frac{t}{\\kappa}}.$$\n",
    "\n",
    "The first four moments are: \n",
    "\n",
    "$$\n",
    "\\begin{aligned}\n",
    " \\mathbb{E}[X_t] &= t\\theta. \\\\ \\nonumber\n",
    " \\text{Var}[X_t] &= t(\\sigma^2 + \\theta^2 \\kappa). \\\\ \\nonumber\n",
    " \\text{Skew}[X_t] &= \\frac{t (2\\theta^3\\kappa^2 + 3 \\sigma^2 \\theta \\kappa)}{\\bigl(\\text{Var}[X_t])^{3/2}}. \\\\ \\nonumber\n",
    " \\text{Kurt}[X_t] &= \\frac{t (3\\sigma^4 \\kappa + 12\\sigma^2 \\theta^2 \\kappa^2 +6\\theta^4\\kappa^3)}{\\bigl(\\text{Var}[X_t]\\bigr)^2}.\\nonumber \n",
    "\\end{aligned} \n",
    "$$\n",
    "\n",
    "Additional information can be found in **A.3**.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec2.1'></a>\n",
    "## VG Density\n",
    "\n",
    "For the formula of the VG density see **A.3**. For information on Fourier inversion formula see **1.3**."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "T = 2  # terminal time\n",
    "N = 1000000  # number of generated random variables\n",
    "\n",
    "theta = -0.1  # drift of the Brownian motion\n",
    "sigma = 0.2  # volatility of the Brownian motion\n",
    "kappa = 0.5  # variance of the Gamma process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(seed=42)\n",
    "G = ss.gamma(T / kappa, scale=kappa).rvs(N)  # The gamma RV\n",
    "Norm = ss.norm.rvs(0, 1, N)  # The normal RV\n",
    "X = theta * G + sigma * np.sqrt(G) * Norm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### VG Density"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def VG_density(x, T, c, theta, sigma, kappa):\n",
    "    return (\n",
    "        2\n",
    "        * np.exp(theta * (x - c) / sigma**2)\n",
    "        / (kappa ** (T / kappa) * np.sqrt(2 * np.pi) * sigma * scps.gamma(T / kappa))\n",
    "        * ((x - c) ** 2 / (2 * sigma**2 / kappa + theta**2)) ** (T / (2 * kappa) - 1 / 4)\n",
    "        * scps.kv(T / kappa - 1 / 2, sigma ** (-2) * np.sqrt((x - c) ** 2 * (2 * sigma**2 / kappa + theta**2)))\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Fourier inversion of the VG characteristic function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "cf_VG_b = partial(cf_VG, t=T, mu=0, theta=theta, sigma=sigma, kappa=kappa)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Histogram vs density vs Fourier inversion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9PRMuafdmjVrdP78+VQLm0yePFn//e9/9dBDD2n58uX69ddftWvXLj366KO6efNmmnNmdmXb4cOH680331Tnzp31ww8/6LffftOuXbtUs2bNdM/r4+OT6rWTk5Mkpez7559/SpICAwMzvOb58+clSSNHjkxV7jk6OqYs9HLx4sUMjy9durSktAVd9+7dU0qxOnXqpHovODhYXbt2ValSpfTNN99o586d2rVrl/r27atbt26luYa3t3eq10WKFLnj9n+e45/73d43M8dn9WeSHk9PT9WrVy/NI6N7PP7z2C1btqhWrVp6/fXXdf/99ysgIEDjxo1TYmLivx5/6dKldP/83S5JL126lPI1vVW+M1r5O71zXr9+XY0aNdJvv/2md999V5s3b9auXbsUHBwsSWm+X66urnJ2dk61Lb2fy+3t6f3ZAAAAhQP3LAQAAKZxcXHRM888oy+//FJRUVGaM2eO3N3d9dRTT6Xs880336hp06aaOXNmqmNv30PunzIa1fdP33zzjXr16qX3338/1faLFy/Ky8srax9ESllV9/ZCGOnx9fWVJI0ePVpdunRJd5873ZevVatW+uKLL7Rq1SqNHDkyZXuJEiVUokQJSZK7u7vi4+NT3vvmm29Urlw5LVmyJNX35u/75BXZ/TO5Gw888IC+/fZbGYahP/74Q/PmzdP48ePl4uKi11577Y7H+vj4KCoqKs32c+fOSfr/n7+Pj09Kcfx30dHR6Z43vT/TGzdu1Llz57R58+aU0YSSdPXq1TtmBAAA+DeMLAQAAKbq16+fkpOTNXHiRK1Zs0ZPP/20XF1dU963WCwpo/hu++OPP1KmdN6t9M77448/6uzZs3d1vgYNGsjT01OzZs2SYRjp7lOlShVVqlRJ+/btS3f0W7169eTu7p7hNR5//HFVq1ZN77//vo4cOZKpXBaLRUWKFEmzCEl6qyGbLbt/JveapWbNmvrkk0/k5eWlPXv2pLzn5OSU7kjHFi1apJR4f7dgwQK5urrq4YcfliQ1adJEBw4cSDPN+dtvv81SvttZ/u7zzz/P9DkAAADSw8hCAABgqnr16qlGjRqaMmWKDMNINQVZkjp06KB33nlH48aNU5MmTRQWFqbx48erXLly6a56m1kdOnTQvHnzdN9996lGjRoKCQnRxIkT7ziN+E7c3Nw0adIk9e/fXy1bttSAAQPk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SXPnzlVUVJR27dqlsmXLqmXLlpo7d26qfefOnas+ffoU6lWuKQsBAAAAmOa7kEh1mLZdEZfjZP3r361WQzp9KU4dpm3X8pBIcwMCQGbFxUlubuY84uIyHbNv3746deqUNm/enLJtzpw56tKli4oVKyZJOnr0qMqXLy8HB4eUfSZPniw3N7eUR0xMTLrnX7hwoZKTkzVnzhzdf//96tChg1555ZVU+8ycOVN16tTR+++/r/vuu0+1a9fWnDlztGnTJh09ejRlvxo1amjcuHGqVKmSevXqpXr16mnDhg2SpIiICJUsWVItW7ZU6dKl9eCDD2rAgAHpZipevLgkycvLSyVLlkx53b9/fy1evFjx8fGSpH379ik0NFTPPfdcpr+fBRFlIQAAAABT7I+M0chl+xSfZFWyNfWomGSrofjEZI1Ytk8/9n9F+vJLKSLCpKQAUHDcd999atCggebMmSNJOn78uLZt26a+ffum2u+fI+v69u2r0NBQff7557px40aG03QPHz6smjVrprpfYP369VPtExISok2bNqUqH++7776UPLfVqFEj1XH+/v66cOGCJOmpp57SzZs3Vb58eQ0YMEArVqxQUlJSVr4V6ty5sxwcHLRixQpJttK0WbNmKdOWCyuHf98FAAAAALJfdcdbqmF3QweSnGW1s0/zvp1h1QNRx9Tu64+l2X9trFVLGjBAeu45ycUlV/MCwB25ukrXr5t37Szo16+fhgwZos8++0xz585VmTJl1KJFi5T3K1WqpO3btysxMVGOjo6SbKPyvLy8FBl55xHfmbnXn9VqVceOHfXhhx+mec/f3z/l+e1r32axWGS1WiVJQUFBCgsL0/r16/Xzzz9r0KBBmjhxorZs2ZLmuIwUKVJEPXv21Ny5c9WlSxctWrQo5T6HhRkjCwEAAADkrgsXpEGDZC1dRiO+/TDdolCSrHb2eqycs471eUFq2FCys5NCQ6XBg6UyZaSPP5YSE3M3OwBkxGKRihY155HF++t17dpV9vb2WrRokebPn6/nnnsu1UjCZ555RtevX9eMGTOy/G2oVq2a9u3bp5s3b6Zs+/XXX1PtU6dOHR08eFBly5ZVxYoVUz2KFi2a6Wu5uLioU6dOmjp1qjZv3qydO3dq//796e7r6Oio5OS0i2f1799fP//8s2bMmKHExER16dIl09cvqCgLAQAAAOSO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UN24cSPl/RkzZqhSpUpydnaWn5+fnnzyyTt+b5cvX677779fTk5OKlu2rCZNmpTyXtOmTTVp0iRt3bpVFotFTZs2TfccTk5Omj9/vubPn6+1a9cqIiJCL7/8sj766CNVqFDhjtfPTpSFAAAAQGH2+uu2+cbduulKrbpmp8k7KlSQ2re3PZ8+3dwsAJBNPv30U40fP16BgYGKiorSrl27Ut6bP3++HBwc9Msvv+jzzz9XVFSUmjRpolq1amn37t1au3atzp8/r65du6Yc88orr2jTpk1asWKF1q1bp82bNyskJCRLmeLi4tSsWTO5ublp69at2r59u9zc3PToo48qISEhZb9Nmzbp+PHj2rRpk+bPn6958+alKhx79eqlb7/9VlOnTtXhw4c1a9Ysubm5pXvN/fv3q02bNurSpYv++OMPLVmyRNu3b9eQIUMkSbt379bQoUM1fvx4hYWFae3atWrcuHGGnyEkJERdu3bV008/rf379+utt97Sm2++mZIvODhYAwYMUP369RUVFaXg4OAMz1W3bl2NHj1a/fv3V8+ePfWf//xH//3vf7PwHb13TEMGAAAACqvt26U1ayR7e+ndd6Xkfz+kUHnxRWn1amnePNv3x8PD7EQAcE88PT3l7u4ue3v7NNNyK1asqI8++ijl9dixY1WnTh29//77KdvmzJmjoKAgHT16VAEBAZo9e7YWLFiQMhJx/vz5CgwMzFKmb7/9VnZ2dvrqq69SRrPPnTtXXl5e2rx5s1q3bi1JKlasmKZPny57e3vdd999at++vTZs2KABAwbo6NGjWrp0qdavX6+WLVtKksqXL5/hNSdOnKju3bunjICsVKmSpk6dqiZNmmjmzJmKiIhQ0aJF1aFDB7m7u6tMmTKqXbt2huebPHmyWrRooTfffFOSVLlyZR06dEgTJ05Unz595O3tLVdX10xPh37jjTc0d+5c/fbbbzp69Giuj/JnZCEAAABQGBmGbVShJPXrJ1WsaG6evKhVK+m++6Rr16T5881OAwA5ql69eqleh4SEaNOmTXJzc0t53HfffZJs9987fvy4EhISVL9+/ZRjvL29VaVKlSxdNyQkRMeOHZO7u3vKdby9vXXr1i0dP348Zb/7779f9vb2Ka/9/f114cIFSVJoaKjs7e3VpEmTTF9z3rx5qT5bmzZtZLVadfLkSbVq1UplypRR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",
      "text/plain": [
       "<Figure size 1600x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(X.min(), X.max(), 500)\n",
    "y = np.linspace(-2, 1, 30)\n",
    "\n",
    "plt.figure(figsize=(16, 5))\n",
    "plt.plot(x, VG_density(x, T, 0, theta, sigma, kappa), color=\"r\", label=\"VG density\")\n",
    "plt.plot(y, [Gil_Pelaez_pdf(i, cf_VG_b, np.inf) for i in y], \"p\", label=\"Fourier inversion\")\n",
    "plt.hist(X, density=True, bins=200, facecolor=\"LightBlue\", label=\"frequencies of X\")\n",
    "plt.legend()\n",
    "plt.title(\"Variance Gamma Histogram\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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nTtHy5YtMzzGzc2N1NTULOurV68e//zzD0ePHs2wd2jTpk1069aNfv36AeZAcOzYsSxr+68+ffowYcIE9u3bl27ckNFo5L333qNJkyZpPTqlS5dO9yRfamoqBw4coE2bNoA5PMXHxzN16lQCAgIA2LVrV7ZruS07P5v/atSoEcuXL6dixYoUKpTxr3+DwUCLFi1o0aIFr732GoGBgaxYsYKwsDCLaxRxFBpALSJZGjt2LNu2bePZZ58lIiKCY8eO8eOPP/Lcc88B5l6Tbt26MWTIEDZv3sy+ffvo168f99xzD926dcv0vNWqVePxxx9nwIABfP/990RGRrJz506mTZvGmjVrAPNTY1evXuW3334jPj6e69ev33Ge0NBQWrVqRc+ePVm/fj2RkZH8/PPPrF27FoAqVaqk9XYcPnyYp59+mri4OIt+BqNHj+bee++la9eufPvtt0RHR7Nz50569uzJsWPH0p7kArj//vtZvXo1q1ev5u+//2b48OFcvnw57f0KFSrg5ubGhx9+yMmTJ/nxxx954403LKrn9s8mMjKSiIgI4uPjSUpKumubZ599losXL9KnTx/+/PNPTp48ybp16xg8eDCpqans2LGDt99+m127dhEdHc3333/P+fPnLQqOIo5IYUhEslSvXj3Cw8M5duwYLVu2pGHDhrz66qtpY1gAFixYQOPGjXnwwQcJCQnBZDKxZs2adLd5MrJgwQIGDBjACy+8QPXq1XnooYfYsWNHWo9J8+bNGTZsGL1796Z06dJMnz49w/MsX76cpk2b0qdPH2rVqsWYMWPSek1effVVGjVqRIcOHWjdujVly5ale/fuFv0MPDw8+O233xgwYADjx4+ncuXK3HvvvRw4cIADBw5Qu3bttGMHDx7MwIEDGTBgAKGhoQQFBaX1CoG552jhwoV8++231KpVi6lTpzJjxgyL6gHo2bMnHTt2pE2bNpQuXTpb0wWUK1eOLVu2kJqaSocOHahTpw7PP/88Pj4+uLi44O3tzcaNG+ncuTPVqlXjlVdeYebMmZrEUQo8g+m/N7dFROSufv75Z3r06MGMGTPSTTMgIo5HPUMiIjnQqVMnfv75Zy5evJhu0kIRcTzqGRIRERGnpp4hERERcWoKQyIiIuLUFIZERETEqSkMiYiIiFNTGBIRERGnpjAkIiIiTk1hSERERJyawpCIiIg4NYUhERERcWr/B8TfM4ofDs4yAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "qqplot(X, line=\"s\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec2.2'></a>\n",
    "## Parameter estimation\n",
    "\n",
    "\n",
    "Let us consider a VG process with an additional (deterministic) drift $c$:\n",
    "\n",
    "$$ Y_t = c t + X^{VG}_t $$\n",
    "\n",
    "such that $\\mathbb{E}[Y_t] = t (\\theta + c)$.\n",
    "\n",
    "This is a more general setting that keeps into account a possible \"location\" parameter for the VG distribution (the function `VG_density` already considers the location parameter $c$).\n",
    "\n",
    "The formulas for higher order moments are unchanged.    \n",
    "The characteristic function if $Y_t$ is:\n",
    "\n",
    "$$ \\phi_{Y_t}(u) = e^{icu} \\biggl( 1-i\\theta \\kappa u + \\frac{1}{2} \\sigma^2 \\kappa u^2 \\biggr)^{-\\frac{t}{\\kappa}}.$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Approximated Method of Moments\n",
    "\n",
    "This method suggests to consider only the first order terms in $\\theta$ and ignore $\\theta^2$, $\\theta^3$ and $\\theta^4$.      \n",
    "This method is motivated by the fact that usually $\\theta$ is quite small.\n",
    "\n",
    "Since there are 4 parameters to estimate, we need 4 equations i.e. the formulas for the first 4 moments.     \n",
    "We get:\n",
    "\n",
    "$$ \\begin{aligned}\n",
    " \\mathbb{E}[X_t] &= t \\, (c+\\theta). \\\\\n",
    " \\text{Var}[X_t] &= t \\, \\sigma^2. \\\\ \n",
    " \\text{Skew}[X_t] &= \\frac{1}{\\sqrt{t}} \\frac{3 \\theta \\kappa}{\\sigma}. \\\\\n",
    " \\text{Kurt}[X_t] &= \\frac{1}{t} 3\\kappa \n",
    "\\end{aligned} $$\n",
    "\n",
    "Inverting we have:\n",
    "\n",
    "$$ \\begin{aligned}\n",
    " \\kappa &= \\frac{t \\text{Kurt}[X_t]}{3} \\\\ \n",
    " \\sigma &= \\frac{\\text{Std}[X_t]}{\\sqrt{t}}. \\\\ \n",
    " \\theta &= \\frac{\\sqrt{t} \\text{Skew}[X_t] \\sigma}{3 \\kappa}. \\\\\n",
    "  c &= \\frac{\\mathbb{E}[X_t]}{t} - \\theta. \\\\\n",
    "\\end{aligned} $$\n",
    "\n",
    "From the formulas above we obtained interesting information:\n",
    "- The parameter $\\theta$ is connected with the **skewness**. (The sign of $\\theta$ indicates if the distribution has positive or negative skewness)\n",
    "- The parameter $\\kappa$ represents the amount of **kurtosis** of the distribution. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Estimated parameters: \n",
      "\n",
      " c=-0.01854377725232363 \n",
      " theta=-0.08144922792709257 \n",
      " sigma=0.21200595513004386 \n",
      " kappa=0.5904713302435356\n",
      "\n",
      "Estimated c + theta =  -0.0999930051794162\n"
     ]
    }
   ],
   "source": [
    "sigma_mm1 = np.std(X) / np.sqrt(T)\n",
    "kappa_mm1 = T * ss.kurtosis(X) / 3\n",
    "theta_mm1 = np.sqrt(T) * ss.skew(X) * sigma_mm1 / (3 * kappa_mm1)\n",
    "c_mm1 = np.mean(X) / T - theta_mm1\n",
    "\n",
    "print(\n",
    "    \"Estimated parameters: \\n\\n c={} \\n theta={} \\n sigma={} \\n \\\n",
    "kappa={}\\n\".format(\n",
    "        c_mm1, theta_mm1, sigma_mm1, kappa_mm1\n",
    "    )\n",
    ")\n",
    "print(\"Estimated c + theta = \", c_mm1 + theta_mm1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The approximated method gives very good results!! \n",
    "\n",
    "Only two remarks:     \n",
    "- We simulated the process with $c=0$ and $\\theta=-0.1$. Therefore, only the parameter $\\theta$ contributes to the mean of the distribution. The results of this estimation process, assign a little part of the true value of $\\theta$ to $c$, which instead should be zero.\n",
    "- The estimated value of the parameter $\\kappa$ is not very precise.\n",
    "\n",
    "Let us see if we can do better!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### MLE\n",
    "\n",
    "An alternative method to estimate the parameters is to use the Maximum Likelihood Estimator.\n",
    "\n",
    "In the following cell I use the function `scipy.optimize.minimize` to minimize the negative of the log-likelihood, i.e. I maximize the log-likelihood.\n",
    "\n",
    "Since there are 4 parameters to be estimated, the routine can be very slow.    \n",
    "Fortunately there are some tricks we can use in order to speed up the task.\n",
    "\n",
    "1) We can use the values estimated with the *approximated method of moments* as **initial guesses**. It is reasonable to expect that they are quite good initial guesses.\n",
    "\n",
    "2) Look at the **Histogram** above. From the histogram we can extract some information:\n",
    "   - The range for the mean $c$ i.e. $[-1,1]$ \n",
    "   - The skewness is negative, therefore $\\theta$ must be negative. I chose the interval $[-1,-10^{-15}]$.\n",
    "   - For $\\sigma$ and $\\kappa$ I chose the reasonable intervals $[10^{-15},2]$ and $[10^{-15},\\infty)$.  \n",
    "\n",
    "Using a method with constraints such as 'L-BFGS-B' is helpful to reduce the computational time. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n",
      "Number of iterations performed by the optimizer:  18\n",
      "MLE parameters:  [ 0.00442153 -0.10220385  0.19960387  0.48852015]\n",
      "CPU times: user 41.8 s, sys: 822 ms, total: 42.6 s\n",
      "Wall time: 42.6 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "\n",
    "def log_likely(x, data, T):\n",
    "    return (-1) * np.sum(np.log(VG_density(data, T, x[0], x[1], x[2], x[3])))\n",
    "\n",
    "\n",
    "result_VG = minimize(\n",
    "    log_likely,\n",
    "    x0=[c_mm1, theta_mm1, sigma_mm1, kappa_mm1],\n",
    "    method=\"L-BFGS-B\",\n",
    "    args=(X, T),\n",
    "    tol=1e-8,\n",
    "    bounds=[[-1, 1], [-1, -1e-15], [1e-15, 2], [1e-15, None]],\n",
    ")\n",
    "\n",
    "print(result_VG.message)\n",
    "print(\"Number of iterations performed by the optimizer: \", result_VG.nit)\n",
    "print(\"MLE parameters: \", result_VG.x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Very good! \n",
    "\n",
    "These values (the last line of the output) are very satisfactory!\n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec3'></a>\n",
    "## NIG process\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Inverse Gaussian (IG) distribution\n",
    "\n",
    "Usually, the [IG distribution](https://en.wikipedia.org/wiki/Inverse_Gaussian_distribution) is parametrized by two parameters: the mean ($\\mu$) and the shape ($\\lambda$):\n",
    "\n",
    "$$ T \\sim IG(\\mu, \\lambda) $$\n",
    "\n",
    "where\n",
    "\n",
    "$$ f_{T}(x) = \\sqrt{\\frac{\\lambda}{2\\pi x^3}} e^{- \\frac{\\lambda(x-\\mu)^2}{2\\mu^2 x} } $$ \n",
    "\n",
    "with \n",
    "\n",
    "$$\\mathbb{E}[T]= \\mu, \\quad \\text{and} \\quad \\text{Var}[T] = \\frac{\\mu^3}{\\lambda}. $$ \n",
    "\n",
    "The python function [scipy.stats.invgauss](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.invgauss.html#scipy.stats.invgauss) is implemented for $\\lambda=1$.    \n",
    "To generate a distribution with a different $\\lambda$, we have to scale both the variable $x$ and the mean $\\mu$:\n",
    "\n",
    "$$ x \\to \\frac{x}{\\lambda} \\quad \\mu \\to \\frac{\\mu}{\\lambda} $$\n",
    "\n",
    "The **IG distribution** is the distribution of the first passage time of a Brownian motion with drift $\\gamma \\geq 0$, for a barrier $\\delta>0$. \n",
    "\n",
    "If we let the barrier to be a linear function of the time $t$, we obtain the IG process. \n",
    "\n",
    "##### IG process\n",
    "\n",
    "The IG process $T_t$ can be defined as:\n",
    "\n",
    "$$ dZ_t = \\gamma dt + dW_t $$\n",
    "\n",
    "$$ T_t = \\inf \\bigl\\{ s>0 : Z_s = \\delta t \\bigr\\} $$\n",
    "\n",
    "where $\\{Z_s : s\\geq 0\\}$ is a Brownian motion with drift $\\gamma \\geq 0$ and unitary diffusion coefficient.   \n",
    "The IG process at time $t$ is distributed as \n",
    " \n",
    "$$ T_t \\sim IG \\biggl( \\frac{\\delta t }{\\gamma}, \\delta^2 t^2 \\biggr).$$\n",
    "\n",
    "It is useful to consider the parameterization in terms of mean ($\\mu$) and variance ($\\kappa$).    \n",
    "The variance is $\\text{Var}[T] = \\frac{\\mu^3}{\\lambda}$. By changing variables we get $\\text{Var}[T_t] = \\frac{\\delta t}{\\gamma^3}$. Let us call $$\\kappa = \\frac{\\delta}{\\gamma^3}.$$\n",
    "\n",
    "Ok... let us see if it works..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(seed=42)\n",
    "paths = 40000  # number of paths\n",
    "steps = 10000  # number of time steps\n",
    "\n",
    "t = 2\n",
    "delta = 3 * t  # time dependent barrier\n",
    "gamma = 2  # drift\n",
    "T_max = 20\n",
    "T_vec, dt = np.linspace(0, T_max, steps, retstep=True)\n",
    "X0 = np.zeros((paths, 1))  # each path starts at zero\n",
    "increments = ss.norm.rvs(loc=gamma * dt, scale=np.sqrt(dt), size=(paths, steps - 1))\n",
    "\n",
    "Z = np.concatenate((X0, increments), axis=1).cumsum(1)\n",
    "T = np.argmax(Z > delta, axis=1) * dt  # first passage time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABcqUlEQVR4nO3deVxU9f7H8dew76igLIqA+56K5ZZbpmW2aml5y2y5N6/WzbyVmZXmvVfb9FrXq+Wv1FazbrTaRuaamoqi5m6iuIALKiAoCJzfHwOTI4uAwBmG9/PxmMfMHM6c82EE5833+z3fr8UwDAMRERERk7iYXYCIiIjUbgojIiIiYiqFERERETGVwoiIiIiYSmFERERETKUwIiIiIqZSGBERERFTKYyIiIiIqRRGRERExFQKI+JQFi5ciMViKfb25JNPcuDAASwWCwsXLqy0c86ZM6dSjydWO3bsYMqUKRw4cKDI10aNGkVUVFS111Rey5cvx2KxsHz5ctu2itR+9OhRpkyZQkJCQrleV9y5LBYLjz76aLmOczkl/Q5Uxe+bSHHczC5ApDgLFiygVatWdtvCw8MJCQlh7dq1NG3atNLONWfOHIKDgxk1alSlHVOsYeTFF1+kb9++RT5Qn3/+eR5//HFzCrtCFan96NGjvPjii0RFRdGxY8cqPVdFlPQ7EBYWVum/byLFURgRh9SuXTu6dOlS7Ne6det22ddnZWXh4+NT2WVJJanJH27VUXvhz6/Z75Onp2eZft9ErpS6aaRGKa7ZeMqUKVgsFjZt2sSdd95J3bp1bf+J79+/n7vvvpvw8HA8PT0JCQmhf//+tubyqKgotm/fzooVK2zdQZdrgi9sJn/rrbdo0aIFnp6etGnTho8//thuvxMnTjBmzBjatGmDn58fDRo04LrrrmPVqlVFjjl37lyuuuoq/Pz88Pf3p1WrVjz77LO2r2dlZfHkk08SHR2Nl5cX9erVo0uXLixatMi2z8aNG7n77ruJiorC29ubqKgo7rnnHg4ePFjkfKtXr6Z79+54eXnRsGFDnn/+ed5++20sFkuRbpXFixfTvXt3fH198fPz44YbbmDz5s2lvkcLFy7krrvuAqBfv36297bw36207ocFCxbQsmVLvL296dKlC+vWrcMwDF599VWio6Px8/PjuuuuY9++fUXO+9NPP9G/f38CAgLw8fGhZ8+eLF26tNRaC+3atYsbb7wRHx8fgoODGT16NBkZGUX2K672Tz/9lK5duxIYGIiPjw9NmjThwQcfBKxdPVdffTUADzzwgO29mDJliu14fn5+bNu2jYEDB+Lv70///v1LPFehy/38Ff5eXKqwK7Tw37m034GSumlWr15N//798ff3x8fHhx49erBkyZJiz7Ns2TL++te/EhwcTFBQEEOGDOHo0aPFfk9Se6llRBxSXl4eubm5dtvc3Er/cR0yZAh33303o0ePJjMzE4CbbrqJvLw8XnnlFRo3bszJkydZs2YNZ86cAeDzzz/nzjvvJDAwkDlz5gDWvwYv56uvvmLZsmVMnToVX19f5syZwz333IObmxt33nknAKdOnQJg8uTJhIaGcvbsWT7//HP69u3L0qVL6du3LwAff/wxY8aM4bHHHuO1117DxcWFffv2sWPHDtv5xo8fz/vvv88///lPOnXqRGZmJr/99hupqam2fQ4cOEDLli25++67qVevHsnJycydO5err76aHTt2EBwcDMDWrVsZMGAALVq04N1338XHx4c333yTDz74oMj3OW3aNJ577jkeeOABnnvuOXJycnj11Vfp1asX69evp02bNsW+P4MHD2batGk8++yz/Pe//6Vz587A5VsVvvnmGzZv3sxLL72ExWJhwoQJDB48mPvvv5/9+/cze/Zs0tLSGD9+PEOHDiUhIcH2gfvBBx8wcuRIbrvtNt59913c3d156623uOGGG/jhhx9sH/DFOXbsGH369MHd3Z05c+YQEhLChx9+WKaxGWvXrmX48OEMHz6cKVOm4OXlxcGDB/n5558B6Ny5MwsWLLC9h4MHDwagUaNGtmPk5ORw66238sgjj/DMM88U+dm/VFl+/sqqvL8DK1asYMCAAXTo0IF33nkHT09P5syZwy233MKiRYsYPny43f4PP/wwgwcP5qOPPuLQoUM89dRT3Hvvvbb3RwQAQ8SBLFiwwACKvV24cMFITEw0AGPBggW210yePNkAjBdeeMHuWCdPnjQAY9asWaWes23btkafPn3KXCNgeHt7GykpKbZtubm5RqtWrYxmzZqV+Lrc3FzjwoULRv/+/Y077rjDtv3RRx816tSpU+o527VrZ9x+++1lrrHwfGfPnjV8fX2N119/3bb9rrvuMnx9fY0TJ07YtuXl5Rlt2rQxACMxMdEwDMNISkoy3NzcjMcee8zuuBkZGUZoaKgxbNiwUs//6aefGoCxbNmyIl+7//77jcjISLttgBEaGmqcPXvWtu2LL74wAKNjx45Gfn6+bfusWbMMwNi6dathGIaRmZlp1KtXz7jlllvsjpmXl2dcddVVxjXXXFNqrRMmTDAsFouRkJBgt33AgAFFvodLa3/ttdcMwDhz5kyJx9+wYUORn9uLjwcY8+fPL/Zrxb1PZfn5K/y9uFTh71jhv7NhlPw7UNzvW7du3YwGDRoYGRkZdudv166d0ahRI9u/U+F5xowZY3fMV155xQCM5OTkIueT2kvdNOKQ3nvvPTZs2GB3u1zLyNChQ+2e16tXj6ZNm/Lqq68yc+ZMNm/eTH5+fqXU179/f0JCQmzPXV1dGT58OPv27ePw4cO27W+++SadO3fGy8sLNzc33N3dWbp0KTt37rTtc80113DmzBnuuecevvzyS06ePFnkfNdccw3fffcdzzzzDMuXL+fcuXNF9jl79iwTJkygWbNmuLm54ebmhp+fH5mZmXbnW7FiBdddd52tpQTAxcWFYcOG2R3vhx9+IDc3l5EjR5Kbm2u7eXl50adPH7srTCpLv3798PX1tT1v3bo1AIMGDbLrcijcXtgFtWbNGk6dOsX9999vV2t+fj433ngjGzZssLWWFWfZsmW0bduWq666ym77iBEjLltzYRfMsGHD+OSTTzhy5EgZv1t7l/78lqasP3+VLTMzk19//ZU777wTPz8/u/Pfd999HD58mN27d9u95tZbb7V73qFDB4Biuw+l9lIYEYfUunVrunTpYne7nLCwMLvnFouFpUuXcsMNN/DKK6/QuXNn6tevz9/+9rdixwKUR2hoaInbCrtOZs6cyV//+le6du3KZ599xrp169iwYQM33nijXZi47777mD9/PgcPHmTo0KE0aNCArl27EhcXZ9vnjTfeYMKECXzxxRf069ePevXqcfvtt7N3717bPiNGjGD27Nk8/PDD/PDDD6xfv54NGzZQv359u/OlpqbafZAVunTbsWPHAOuHrbu7u91t8eLFxYamK1WvXj275x4eHqVuP3/+vF2td955Z5FaX375ZQzDsHWbFSc1NbXUf9PS9O7dmy+++MIW3Bo1akS7du3sxvNcjo+PDwEBAWXevyw/f1Xh9OnTGIZR5HcNrFe7FXf+oKAgu+eFXUDFBWqpvTRmRJxGcYP1IiMjeeeddwDYs2cPn3zyCVOmTCEnJ4c333yzwudKSUkpcVvhf74ffPABffv2Ze7cuXb7FReEHnjgAR544AEyMzNZuXIlkydP5uabb2bPnj1ERkbi6+vLiy++yIsvvsixY8dsrSS33HILu3btIi0tjW+++YbJkyfzzDPP2I6bnZ1d5EM4KCjI9uFd2vdU2HLyv//9j8jIyLK8LaYprPU///lPiVd/FBfACgUFBZX6b3o5t912G7fddhvZ2dmsW7eO6dOnM2LECKKioujevftlX1/cz25pyvLz5+XlBVh/Bi4eA3IlIbJu3bq4uLiQnJxc5GuFg1IvbnETKSu1jEit0aJFC5577jnat2/Ppk2bbNs9PT3L/Vfa0qVL7T7Q8/LyWLx4MU2bNrUNTLRYLEUGAm7dupW1a9eWeFxfX18GDRrEpEmTyMnJYfv27UX2CQkJYdSoUdxzzz3s3r2brKwsLBYLhmEUOd/bb79NXl6e3bY+ffrw888/230o5efn8+mnn9rtd8MNN+Dm5sbvv/9epJWqLK1V1fkXcM+ePalTpw47duwosdbC1pTi9OvXj+3bt7Nlyxa77R999FG56vD09KRPnz68/PLLALarjir7vSjLz1/hFTFbt261e+3XX39dbN1lqc3X15euXbsSGxtrt39+fj4ffPABjRo1okWLFhX5lqSWU8uIOK2tW7fy6KOPctddd9G8eXM8PDz4+eef2bp1q13rQfv27fn4449ZvHgxTZo0wcvLi/bt25d67ODgYK677jqef/5529UMu3btsru88uabb+Yf//gHkydPpk+fPuzevZupU6cSHR1td7XEn//8Z7y9venZsydhYWGkpKQwffp0AgMDbeMRunbtys0330yHDh2oW7cuO3fu5P3336d79+62+VR69+7Nq6++SnBwMFFRUaxYsYJ33nmHOnXq2NU+adIkvv76a/r378+kSZPw9vbmzTfftI2pcHGx/o0SFRXF1KlTmTRpEvv37+fGG2+kbt26HDt2jPXr19taa0rSrl07AObNm4e/vz9eXl5ER0cXabavDH5+fvznP//h/vvv59SpU9x55500aNCAEydOsGXLFk6cOFGkhepi48aNY/78+QwePJh//vOftqtpdu3addlzv/DCCxw+fJj+/fvTqFEjzpw5w+uvv467uzt9+vQBrFcReXt78+GHH9K6dWv8/PwIDw+3dW2UV1l+/m666Sbq1avHQw89xNSpU3Fzc2PhwoUcOnSoyPHK8zswffp0BgwYQL9+/XjyySfx8PBgzpw5/PbbbyxatKjcrTwigK6mEcdSOAJ/w4YNxX69tKtpLr46xDAM49ixY8aoUaOMVq1aGb6+voafn5/RoUMH49///reRm5tr2+/AgQPGwIEDDX9/fwMocvXCpQBj7Nixxpw5c4ymTZsa7u7uRqtWrYwPP/zQbr/s7GzjySefNBo2bGh4eXkZnTt3Nr744osiV0i8++67Rr9+/YyQkBDDw8PDCA8PN4YNG2a7UsQwDOOZZ54xunTpYtStW9fw9PQ0mjRpYjzxxBPGyZMnbfscPnzYGDp0qFG3bl3D39/fuPHGG43ffvvNiIyMNO6//3672latWmV07drV8PT0NEJDQ42nnnrKePnll4u9KuSLL74w+vXrZwQEBBienp5GZGSkceeddxo//fRTqe+TYViveomOjjZcXV3t/t1Kukpk7NixdtsK/71fffVVu+3Lli0zAOPTTz+1275ixQpj8ODBRr169Qx3d3ejYcOGxuDBg4vsV5wdO3YYAwYMMLy8vIx69eoZDz30kPHll19e9mqab775xhg0aJDRsGFDw8PDw2jQoIFx0003GatWrbI7/qJFi4xWrVoZ7u7uBmBMnjzZdjxfX99iayrtfbrcz59hGMb69euNHj16GL6+vkbDhg2NyZMnG2+//XaRq2lK+h0o7vfNMKw/P9ddd53h6+treHt7G926dTO+/vpru31K+l0u/Lcr7iorqb0shmEY1R2ARGoyi8XC2LFjmT17ttmlVKqBAwdy4MAB9uzZY3YpIlLLqJtGpBYaP348nTp1IiIiglOnTvHhhx8SFxdnG+wrIlKdFEZEaqG8vDxeeOEFUlJSsFgstGnThvfff597773X7NJEpBZSN42IiIiYSpf2ioiIiKkURkRERMRUCiMiIiJiqhoxgDU/P5+jR4/i7++vCXVERERqCMMwyMjIIDw83DahYnFqRBg5evQoERERZpchIiIiFXDo0CHbUgXFqRFhxN/fH7B+M+VZ2VJERETMk56eTkREhO1zvCQ1IowUds0EBAQojIiIiNQwlxtioQGsIiIiYiqFERERETGVwoiIiIiYqkaMGRERkZIZhkFubi55eXlmlyK1jKurK25ublc87YbCiIhIDZaTk0NycjJZWVlmlyK1lI+PD2FhYXh4eFT4GAojIiI1VH5+PomJibi6uhIeHo6Hh4cmhpRqYxgGOTk5nDhxgsTERJo3b17qxGalURgREamhcnJyyM/PJyIiAh8fH7PLkVrI29sbd3d3Dh48SE5ODl5eXhU6jgawiojUcBX9a1SkMlTGz59+gkVERMRUCiMiIiJiKoURERFxKqNGjeL222+vtvMtXLiQOnXqVNv5nJHCiIiIVKviwkJKSgqPP/44zZo1w8vLi5CQEK699lrefPNNh79sefjw4ezZs8f2fMqUKXTs2NG8gmogXU0jIiKm2r9/Pz179qROnTpMmzaN9u3bk5uby549e5g/fz7h4eHceuutZpdZIm9vb7y9vc0uo0ZTy4iIiDMxDMjMrP6bYVS45DFjxuDm5sbGjRsZNmwYrVu3pn379gwdOpQlS5Zwyy23lPjavLw8xo8fT506dQgKCuLpp5/GuKQWwzB45ZVXaNKkCd7e3lx11VX873//s319+fLlWCwWli5dSpcuXfDx8aFHjx7s3r3bts+WLVvo168f/v7+BAQEEBMTw8aNGwH7bpqFCxfy4osvsmXLFiwWCxaLhYULF/Lggw9y880329WVm5tLaGgo8+fPr/B75yzUMiJOL3Z3su3xkJZhJlYiUg2yssDPr/rPe/Ys+PqW+2Wpqan8+OOPTJs2Dd8SXl/aRG4zZsxg/vz5vPPOO7Rp04YZM2bw+eefc91119n2ee6554iNjWXu3Lk0b96clStXcu+991K/fn369Olj22/SpEnMmDGD+vXrM3r0aB588EF++eUXAP70pz/RqVMn5s6di6urKwkJCbi7uxepZ/jw4fz22298//33/PTTTwAEBgbSokULevfuTXJyMmFh1v+Hvv32W86ePcuwYcPK/b45G4URERExzb59+zAMg5YtW9ptDw4O5vz58wCMHTuWl19+udjXz5o1i4kTJzJ06FAA3nzzTX744Qfb1zMzM5k5cyY///wz3bt3B6BJkyasXr2at956yy6M/Otf/7I9f+aZZxg8eDDnz5/Hy8uLpKQknnrqKVq1agVA8+bNi63H29sbPz8/3NzcCA0NtW3v0aMHLVu25P333+fpp58GYMGCBdx11134mREeHYzCiIiIM/HxsbZSmHHeK3Bp68f69evJz8/nT3/6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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Theoretical mean:  3.0\n",
      "Theoretical variance:  0.75\n",
      "Estimated mean:  3.017242724272428\n",
      "Estimated variance:  0.7578786228647868\n"
     ]
    }
   ],
   "source": [
    "x = np.linspace(0, 10, 10000)\n",
    "mm = delta / gamma\n",
    "lam = delta**2\n",
    "mm1 = mm / lam  # scaled mean\n",
    "\n",
    "plt.plot(x, ss.invgauss.pdf(x, mu=mm1, scale=lam), color=\"red\", label=\"IG density\")\n",
    "plt.hist(T, density=True, bins=100, facecolor=\"LightBlue\", label=\"frequencies of T\")\n",
    "plt.title(\"First passage time distribution\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "print(\"Theoretical mean: \", mm)\n",
    "print(\"Theoretical variance: \", delta / gamma**3)\n",
    "print(\"Estimated mean: \", T.mean())\n",
    "print(\"Estimated variance: \", T.var())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Normal Inverse Gaussian (NIG)\n",
    "\n",
    "Following the same argument used to build the Variance Gamma process, we consider a Brownian motion with drift \n",
    "\n",
    "$$ X_t = \\theta t + \\sigma W_t$$ \n",
    "\n",
    "and substitute the time variable with an Inverse Gaussian random variable \n",
    "$T_t \\sim \\Gamma(t,\\kappa t)$,\n",
    "we obtain the **Normal Inverse Gaussian** process:\n",
    "\n",
    "$$\n",
    " X_{t} := \\theta T_t + \\sigma W_{T_t} .\n",
    "$$\n",
    "\n",
    "where we chose \n",
    "\n",
    "$$T_t \\sim IG\\biggl( \\mu=t, \\lambda= \\frac{t^2}{\\kappa} \\biggr),$$ \n",
    "\n",
    "with $\\delta=\\gamma$ and $\\kappa = 1/\\gamma^2$ in order to have $\\mathbb{E}[T_t]= t$.\n",
    "\n",
    "The NIG process depends on three parameters:\n",
    "\n",
    "- $\\sigma$, the volatility of the Brownian motion\n",
    "- $\\kappa$, the variance of the IG process\n",
    "- $\\theta$, the drift of the Brownian motion\n",
    "\n",
    "The characteristic function is: \n",
    "\n",
    "$$ \\phi_{X_t}(u) = \\frac{1}{\\kappa} \\biggl( 1 - \\sqrt{1 - i2 \\theta \\kappa u + \\sigma^2 \\kappa u^2} \\biggr) .$$\n",
    "\n",
    "The first four moments are: \n",
    "\n",
    "$$ \\begin{aligned}\n",
    " \\mathbb{E}[X_t] &= t\\theta. \\\\\n",
    " \\text{Var}[X_t] &= t(\\sigma^2 + \\theta^2 \\kappa). \\\\\n",
    " \\text{Skew}[X_t] &= \\frac{t (3\\theta^3\\kappa^2 + 3 \\sigma^2 \\theta \\kappa)}{\\bigl(\\text{Var}[X_t])^{3/2}}. \\\\ \n",
    " \\text{Kurt}[X_t] &= \\frac{t (3\\sigma^4 \\kappa + 18\\sigma^2 \\theta^2 \\kappa^2 +15\\theta^4\\kappa^3)}{\\bigl(\\text{Var}[X_t]\\bigr)^2}. \n",
    "\\end{aligned} $$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec3.1'></a>\n",
    "## NIG Density\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "T = 2  # terminal time\n",
    "N = 1000000  # number of generated random variables\n",
    "\n",
    "theta = -0.1  # drift of the Brownian motion\n",
    "sigma = 0.2  # volatility of the Brownian motion\n",
    "kappa = 0.5  # variance of the Gamma process\n",
    "\n",
    "lam = T**2 / kappa  # scale\n",
    "mus = T / lam  # scaled mu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(seed=42)\n",
    "IG = ss.invgauss.rvs(mu=mus, scale=lam, size=N)  # The IG RV\n",
    "Norm = ss.norm.rvs(0, 1, N)  # The normal RV\n",
    "X = theta * IG + sigma * np.sqrt(IG) * Norm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### NIG Density"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def NIG_density(x, T, c, theta, sigma, kappa):\n",
    "    A = theta / (sigma**2)\n",
    "    B = np.sqrt(theta**2 + sigma**2 / kappa) / sigma**2\n",
    "    C = T / np.pi * np.exp(T / kappa) * np.sqrt(theta**2 / (kappa * sigma**2) + 1 / kappa**2)\n",
    "    return (\n",
    "        C\n",
    "        * np.exp(A * (x - c * T))\n",
    "        * scps.kv(1, B * np.sqrt((x - c * T) ** 2 + T**2 * sigma**2 / kappa))\n",
    "        / np.sqrt((x - c * T) ** 2 + T**2 * sigma**2 / kappa)\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The NIG density usually is indicated with the parameters:\n",
    "$$ \\beta = \\frac{\\theta}{\\sigma^2}, \\quad \\quad \\alpha = \\sqrt{ \\beta^2 + \\frac{1}{\\kappa \\sigma^2} } $$\n",
    "$$ \\delta = \\frac{T \\sigma}{\\sqrt{\\kappa}}, \\quad \\quad  \\mu = c T $$\n",
    "\n",
    "See [3] for instance. However, I prefer to use the ($\\theta,\\sigma,\\kappa$) parameters, as in [1].\n",
    "\n",
    "The following function corresponds to the NIG($\\alpha, \\beta, \\delta, \\mu$) density:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "def NIG_abdmu(x, T, c, theta, sigma, kappa):\n",
    "    beta = theta / (sigma**2)\n",
    "    alpha = np.sqrt(beta**2 + 1 / (kappa * sigma**2))\n",
    "    delta = T * sigma / np.sqrt(kappa)\n",
    "    mu = c * T\n",
    "    g = lambda y: np.sqrt(delta**2 + (x - mu) ** 2)\n",
    "    cost = delta * alpha / np.pi\n",
    "    return (\n",
    "        cost\n",
    "        * np.exp(delta * np.sqrt(alpha**2 - beta**2) + beta * (x - mu))\n",
    "        * scps.kv(1, alpha * g(x - mu))\n",
    "        / g(x - mu)\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Fourier inversion of the NIG characteristic function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "cf_NIG_b = partial(cf_NIG, t=T, mu=0, theta=theta, sigma=sigma, kappa=kappa)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Histogram vs density vs Fourier inversion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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vfHGG+ne46+//pKzs7PWr18vyV5Mvv7666pYsaJKliype++9Vxs2bEg7f9asWSpVqpRWrlypOnXqyNXVVVFRUdqwYYPuuecelSxZUqVKlVKLFi0UFRUlKeM0ZKvVqvHjxysgIECurq5q2LChVq9enfb68ePHZRiGQkJC1K5dO7m7u6tBgwbavn17pr8OuSVPy8KLFy9q586devHFF+Xk5CQnJyeNHz9ee/bskZOTk9atW5fpda6urvLy8kp3AwAAAFB8hRw6pbhnn5NSU3Wq4/0KqdGkwO44fMWvoiIGD7M/GTtWsuT9KCEAhc+S0Bj1mLZF0eeSZL0+CNlqk6LOJqnHtC1aGhqT75lOnjypbt266e6779aePXs0Y8YMffPNN5owYUKO3+udd95Rr169tG/fPg0ePDjD6/v27VOXLl3Up08f7d27VwsXLtSWLVv04o2lJq77+OOPFRwcrNDQUL399tvZ/vzJkyeradOm2r17t55//nk999xzOnTokCRpwIABmj9/vmx/G/29cOFC+fr6qk2bNpKkp556Slu3btWCBQu0d+9ePfLII7r//vsVERGRdk1SUpImTpyor7/+Wvv371eZMmXUu3dvtWnTRnv37tX27dv17LPPZjma8tNPP9XkyZP1r3/9S3v37lWXLl30wAMPpPsMSRo7dqxGjRqlsLAw1axZU4899li6Aje35WlZ6OXlpX379iksLCztNmzYMAUFBSksLEz33ntvXn48AAAAgCKiwoZf5LttsyzOLtr7xrtmx7mliMHPSWXKSIcOSfPmmR0HQAGzLyZBoxbvUXKqVRZr+uUKLFabklOtGrl4j/bFJOTJ569cuVIeHh5pt0ceeUSSNH36dAUGBuqzzz5TrVq11Lt3b7333nuaPHnyLafY/lP//v01ePBgVatWTZUrV87w+scff6z+/fvrlVdeUY0aNdS8eXNNnTpVc+bM0dWrV9POa9++vUaNGqXq1aurevXq2f78bt266fnnn1f16tU1evRolS1bNm1kYL9+/XTq1Clt2bIl7fx58+apf//+cnBw0NGjRzV//nwtXrxYrVq10l133aVRo0apZcuWmjlzZto1165d0/Tp09W8eXMFBQXJYrEoISFBPXr00F133aXatWvrySefVKVKlTLN+K9//UujR4/Wo48+qqCgIE2aNEkNGzbMMHJz1KhR6t69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",
      "text/plain": [
       "<Figure size 1600x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(X.min(), X.max(), 500)\n",
    "y = np.linspace(-2, 1, 30)\n",
    "\n",
    "plt.figure(figsize=(16, 5))\n",
    "plt.plot(x, NIG_density(x, T, 0, theta, sigma, kappa), color=\"r\", label=\"NIG density\")\n",
    "plt.plot(y, [Gil_Pelaez_pdf(i, cf_NIG_b, np.inf) for i in y], \"p\", label=\"Fourier inversion\")\n",
    "plt.hist(X, density=True, bins=200, facecolor=\"LightBlue\", label=\"frequencies of X\")\n",
    "plt.legend()\n",
    "plt.title(\"NIG Histogram\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3r2qXr16lte99dZblZqaqhMnTqhZs2aZnhMUFKTU1NRs66tdu7aOHj2qvXv3Zjpa89tvv6lLly7q3bu3JNsX+759+7Kt7Vo9e/bU008/ra1bt6abV2O1WvXmm2+qQYMG9hGWEiVKpOs8S01N1fbt29WyZUtJthCUkJCgV155ReHh4ZKkjRs3OlxLGkd+N9eqV6+e5s6dq4oVK+qGGzL/q9xisahp06Zq2rSpnnvuOVWoUEHz58/XyJEjna4R8AZMFAb8yNixY7V27Vo99thjio6O1r59+7Ro0SI98cQTkmyjGF26dNHAgQP1+++/a+vWrerdu7duuukmdenSJcvrVq1aVQ888ID69OmjefPmKSYmRhs2bNCrr76qZcuWSbJ1OZ07d04//fSTEhISdOHChQzXad68ue644w716NFDP/74o2JiYvTdd99p+fLlkqQqVarYRx927dqlwYMH6/jx4079DkaMGKFGjRqpc+fO+vbbbxUbG6sNGzaoR48e2rdvn73zSJLuvPNOLV26VEuXLtXu3bv16KOP6syZM/bny5cvr6CgIE2bNk0HDx7UokWL9MILLzhVT9rvJiYmRtHR0UpISFBycvJ1X/PYY4/p9OnT6tmzp9avX6+DBw/qhx9+UP/+/ZWamqp169bp5Zdf1saNGxUbG6t58+bp5MmTTgVAwNsQagA/Urt2ba1atUr79u1Ts2bNdOutt+rZZ5+1z/GQpJkzZ6p+/frq1KmTGjduLMMwtGzZsnS3TzIzc+ZM9enTR6NGjVK1atV09913a926dfYRjCZNmmjIkCG67777VKJECb322muZXmfu3Llq2LChevbsqcjISI0ZM8Y+ivHss8+qXr16atu2rVq0aKHSpUura9euTv0OQkJC9NNPP6lPnz4aP368KleurEaNGmn79u3avn27atSoYT+3f//+6tu3r/r06aPmzZsrIiLCPkoj2UZyZs2apW+//VaRkZF65ZVX9MYbbzhVjyT16NFD7dq1U8uWLVWiRAmH2tTLli2r1atXKzU1VW3btlXNmjU1bNgwhYWFKSAgQIULF9avv/6qDh06qGrVqnrmmWc0ZcoUFvODT7MY194wBgA/891336lbt25644030rW3A/AujNQA8Hvt27fXd999p9OnT6dbvA6Ad2GkBgAA+ARGagAAgE8g1AAAAJ9AqAEAAD6BUAMAAHwCoQYAAPgEQg0AAPAJhBoAAOATCDUAAMAnEGoAAIBP+D8f/aNmt90PVAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "qqplot(X, line=\"s\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec3.2'></a>\n",
    "## Parameter estimation\n",
    "\n",
    "Since the moments at first order in $\\theta$ are the same as in the VG process, we can use the same technique to get an approximated estimate of the parameters.\n",
    "\n",
    "After that we can use those approximated values as initial guess for the MLE estimation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Estimated parameters: \n",
      "\n",
      " c=-0.029490461790484923 \n",
      " theta=-0.0703900720616428 \n",
      " sigma=0.21211113318032002 \n",
      " kappa=0.708309868095375\n",
      "\n",
      "Estimated c + theta =  -0.09988053385212772\n"
     ]
    }
   ],
   "source": [
    "sigma_mm1 = np.std(X) / np.sqrt(T)\n",
    "kappa_mm1 = T * ss.kurtosis(X) / 3\n",
    "theta_mm1 = np.sqrt(T) * ss.skew(X) * sigma_mm1 / (3 * kappa_mm1)\n",
    "c_mm1 = np.mean(X) / T - theta_mm1\n",
    "\n",
    "print(\n",
    "    \"Estimated parameters: \\n\\n c={} \\n theta={} \\n sigma={} \\n \\\n",
    "kappa={}\\n\".format(\n",
    "        c_mm1, theta_mm1, sigma_mm1, kappa_mm1\n",
    "    )\n",
    ")\n",
    "print(\"Estimated c + theta = \", c_mm1 + theta_mm1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n",
      "Number of iterations performed by the optimizer:  19\n",
      "MLE parameters:  [ 0.0010417  -0.10092221  0.19980898  0.49902213]\n",
      "CPU times: user 43.9 s, sys: 939 ms, total: 44.8 s\n",
      "Wall time: 44.8 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "\n",
    "def log_likely_NIG(x, data, T):\n",
    "    return (-1) * np.sum(np.log(NIG_density(data, T, x[0], x[1], x[2], x[3])))\n",
    "\n",
    "\n",
    "result_NIG = minimize(\n",
    "    log_likely_NIG,\n",
    "    x0=[c_mm1, theta_mm1, sigma_mm1, kappa_mm1],\n",
    "    method=\"L-BFGS-B\",\n",
    "    args=(X, T),\n",
    "    tol=1e-8,\n",
    "    bounds=[[-1, 1], [-1, -1e-15], [1e-15, 2], [1e-15, None]],\n",
    ")\n",
    "\n",
    "print(result_NIG.message)\n",
    "print(\"Number of iterations performed by the optimizer: \", result_NIG.nit)\n",
    "print(\"MLE parameters: \", result_NIG.x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## References\n",
    "\n",
    "[1] Rama Cont and Peter Tankov (2003) \"Financial Modelling with Jump Processes\", Chapman and Hall/CRC; 1 edition.  \n",
    "\n",
    "[2] Madan D. and Seneta E. (1990) \"The Variance Gamma model for share market returns\". The journal of Business. 63(4), 511-524 \n",
    "\n",
    "[3] Barndorff-Nielsen, Ole E. (1998) \"Processes of Normal Inverse Gaussian type\" Finance and Stochastics 2, 41-68."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
